The present invention pertains in general to a spread spectrum communication system and, more particularly, to a system in which variable rate data is transmitted and coded.
In digital communication systems for transmitting voice and utilizing spread spectrum modulation, the transmitter typically utilizes a vocoding system that encodes voice information at a variable rate, which variable rate is utilized to allow the data rate to be lowered during pauses and other absences of voice activity. This facilitates a reduction in the level of interference caused when undesignated receivers receive transmissions from this transmitter. At the designated receiver, a similar vocoding system is employed to reconstruct the voice information from the received signal.
The IS-95 CDMA (Code Division Multiple Access) System employs variable rate voice coding in order to reduce the transmit power, and thereby increase system capacity for both the forward and reverse links. Furthermore, in order to maintain high voice quality, the rate information is not transmitted to the receiver. Therefore, the receiver must determine the data rate in order to adequately decode the data. This latter point is made clear by considering the following examples. Suppose the transmitter sends the rate information of the next frame with the current frame. Assuming that this voice coding rate is encoded with a forward error correction code then this would lead to an additional delay of one frame in the voice path, which is undesirable for maintaining voice quality. Alternatively, suppose the transmitter sends the rate information of the current frame at the beginning of the current frame. In this case, the receiver is required to decode the frame in order acquire the rate information, which defeats the purpose. Note that an additional benefit of not transmitting the rate information is less overhead. Thus, it is necessary for the vocoding system at the receiver to determine the data rate and then decode the data at this data rate.
Perhaps the most straightforward rate detection method is to decode the frame once at every possible rate. Then, by either checking a CRC (Cyclic Redundancy Code), Viterbi decoder metrics, or some other means the receiver guesses at the transmission rate. Since it is desirable to minimize power consumption at the mobile device, it is beneficial to simplify the computations required in determining the rate. To this end, several less optimum rate detection methods have been suggested. In one application, a classification algorithm is employed which detects the vocoder transmission rate for Rate set 1 (9600 bps, 4800 bps, 2400 bps, and 1200 bps), and Rate set 2 (14,400 bps, 7200 bps, 3600 bps, and 1800 bps) of IS-95, respectively. (The highest data rate frame, which corresponds to, for example, a 9600 bps frame for Rate set 1 is referred to as a xe2x80x9cfull-ratexe2x80x9d frame. The other frames are appropriately referred to as a xe2x80x9chalf-rate,xe2x80x9d xe2x80x9cquarter-rate,xe2x80x9d and xe2x80x9ceighth-ratexe2x80x9d frames, respectively.) Essentially, the algorithms compute certain thresholds that are subsequently used to determine a source rate. The algorithm appears to give good performance as compared to the initially suggested method of Viterbi decoding once for each rate in the rate set.
One system that has been previously described for decoding variable rate data is that disclosed in U.S. Pat. No. 5,774,496, issued Jun. 30, 1998, which is incorporated herein by reference. In this decoding system, there are provided four decoding circuits, one associated with each data rate. Each of the decoding systems is provided with some type of xe2x80x9cquality indicatorxe2x80x9d that allows the decoding operation to be evaluated as to the results thereof. Therefore, the received signals are processed through the decoding systems at their associated data rate and the integrity of the decoded data outputs thereof compared with each other with some type of predetermined quality criteria. Once a decision has been made as to which of the decoding circuits has the best quality output, this is designated as the acceptable rate for that frame and the decoded data decoded thereby is utilized as a single output. This occurs for each frame.
The disadvantage of the above disclosed multi-rate decoding system is that it requires significant processing power in order to perform all of the decoding operations. This is especially true for the high data rate decoder circuits, since they require both more complex circuitry and take a correspondingly larger amount of power.
The present invention disclosed and claimed herein comprises a method and apparatus for receiving variable-rate data in a variable-rate communications system. The data rate of the received signal is determined by first receiving the encoded data and then evaluating this encoded data using predetermined data rate criteria. The step of evaluating the encoded data is operable to determine if the encoded data is associated with at least one data rate. If the data rate is determined in the step of evaluating to be at the at least one data rate, then the data is encoded at that at least one data rate. If the data rate is determined not to be at the at least one data rate prior to a decoding operation, then the encoded data is evaluated at multiple data rates along multiple decoding paths. In each. of the multiple paths, the data is fully decoded at one of the available rates and then the decoding operation evaluated as to the quality of the decoded data. An error metric is provided for each of the decoded data paths and these error metrics compared with predetermined error criteria. The one of the paths having the best or lowest error metrics is selected as the data rate of the encoded data.